www.gusucode.com > XerCMS 携云PHP企业建站程序 v2015PHP源码程序 > XerCMS 携云PHP企业建站程序 v2015/XerCMS_v20150724/XerCMS_v20150724/XerCMS/Modules/forum/tag/XerCMS_forum.php
<?php /** * @name XERCMS * @author Arno <XerCMS@163.com> [QQ:1328013] * @version 1.0.0 * @link http://www.XerCMS.com */ !defined('XERCMS') && exit('Access Denied'); class XERCMS_TAG_FORUM { function nav($param,$html,$layer) { $val = php::dfor($param); return '<?php if(isset($G["nav_forum"]['.$param['bid'].']) == false) {$G["nav_forum"]['.$param['bid'].'] = include(INC.\'Caches/forum/'.(strpos($param['bid'],'$') !== false ? '\'.'.$param['bid'].'.\'' : $param['bid']).'.php\');}foreach($G["nav_forum"]['.$param['bid'].'] as '.$val.') { ?>'.$html.'<?php } ?>'; } function posts($param,$html,$layer) { $sql = 'ORDER BY '.inArray($param['by'],array('displayorder','published','edittime')); $sql .= ' '.inArray($param['order'],array('DESC','ASC')); $sql .= isset($param['limit']) ? ' LIMIT '.$param['limit'] : ' LIMIT 30'; $sql = 'SELECT p.tid,p.pid,p.uid,p.content,p.published,p.edittime,m.nick,t.bid FROM xercms_forum_posts p LEFT JOIN xercms_member_profile m ON m.uid = p.uid LEFT JOIN xercms_forum_topic t ON t.tid = p.tid WHERE p.state = 1 '.$sql; $val = php::dfor($param); return '<?php $data_'.$layer.' = '.(isset($param['cache']) ? 'Cache::fetchSql(\''.$sql.'\','.(int)$param['cache'].')' : 'DB::fetch_all(\''.$sql.'\')').';foreach($data_'.$layer.' as '.$val.') { ?>'.$html.'<?php } ?>'; } function topic($param,$html,$layer) { $sql = isset($param['bid']) ? ' AND t.bid in ('.php::dvar($param['bid']).')' : ''; $sql .= isset($param['uid']) ? ' AND t.uid in ('.php::dvar($param['uid']).')' : ''; $sql .= isset($param['category']) ? ' AND t.category in ('.php::dvar($param['category']).')' : ''; $sql .= isset($param['digest']) ? ' AND t.digest in ('.php::dvar($param['digest']).')' : ''; $sql .= isset($param['private']) ? ' AND t.private in ('.php::dvar($param['private']).')' : ''; $sql .= ' ORDER BY '.(in_array($param['by'],array('displayorder','published','edittime')) ? 't.'.$param['by'] : 'c.'.inArray($param['by'],array('hits','rely','flower','egg','favorites'))); $sql .= ' '.inArray($param['order'],array('DESC','ASC')); $sql .= isset($param['limit']) ? ' LIMIT '.$param['limit'] : ' LIMIT 30'; $sql = 'SELECT t.tid,t.bid,t.uid,t.published,t.subject,t.edittime,m.nick,c.* FROM xercms_forum_topic t,xercms_member_profile m,xercms_topic_count c WHERE t.state = 1 AND t.tid = c.tid AND m.uid = t.uid '.$sql; $val = php::dfor($param); return '<?php $data_'.$layer.' = '.(isset($param['cache']) ? 'Cache::fetchSql(\''.$sql.'\','.(int)$param['cache'].')' : 'DB::fetch_all(\''.$sql.'\')').';foreach($data_'.$layer.' as '.$val.') { ?>'.$html.'<?php } ?>'; } function board($param,$html,$layer) { $sql = isset($param['bid']) ? 'b.bid in ('.php::dvar($param['bid']).')' : ''; $sql .= isset($param['parent']) ? 'b.parent in ('.php::dvar($param['parent']).')' : ''; $sql = empty($sql) ? '' : ' WHERE '.$sql; $sql = 'SELECT b.bid,b.icon,b.name,b.keyword,b.des,b.topic,b.posts,b.outer,b.urlpath,p.uid,p.content,m.nick,p.tid FROM xercms_forum_board b left join xercms_forum_posts p on p.pid = b.pid LEFT JOIN xercms_member_profile m ON m.uid = p.uid '.$sql; $val = php::dfor($param); return '<?php $data_'.$layer.' = '.(isset($param['cache']) ? 'Cache::fetchSql(\''.$sql.'\','.(int)$param['cache'].')' : 'DB::fetch_all(\''.$sql.'\')').';foreach($data_'.$layer.' as '.$val.') { ?>'.$html.'<?php } ?>'; } } ?>